package com.hzz.entity.report;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.entity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReportEvent extends BaseEntity {
    /**
     * id
     */
    Long id;
    /**
     * 巡查任务id
     */
    Long patrolTaskId;
    /**
     * 上报时间
     */
    Date reportingDate;
    /**
     * 上报类型(0巡河事件,1公众投诉,2重点项目,3常规任务,4紧急任务)
     */
    Integer reportingType;
    /**
     * 上报人id
     */
    Long reportingUserId;
    /**
     * 上报人名称
     */
    String reportingUserName;
    /**
     * 上报人联系电话
     */
    String reportingUserCellphone;
    /**
     * 结果反馈
     */
    String resultFeedback;
    /**
     * 上报河道id
     */
    String riverId;
    /**
     * 上报河道名称
     */
    String riverName;
    /**
     * 事件进度(0上报,1处理,2结案)
     */
    Integer state;
    /**
     * 督办单号
     */
    String supervisionCode;
    /**
     * 督办联系人电话
     */
    String supervisionContactCellphone;
    /**
     * 督办联系人id
     */
    Long supervisionContactId;
    /**
     * 督办联系人名称
     */
    String supervisionContactName;
    /**
     * 督办内容
     */
    String supervisionContent;
    /**
     * 督办发起时间
     */
    Date supervisionDate;
    /**
     * 督办要求
     */
    String supervisionDemand;
    /**
     * 督办对象(0个人,1机构)
     */
    Integer supervisionTarget;
    /**
     * 督办标题
     */
    String supervisionTitle;
    /**
     * 督办类型(0巡河事件,1公众投诉,2重点项目,3常规任务,4紧急任务)
     */
    Integer supervisionType;
    /**
     * 事件处理行政区划id
     */
    String treatmentAreaId;
    /**
     * 事件处理行政区划名称
     */
    String treatmentAreaName;
    /**
     * 事件处理备注
     */
    String treatmentMemo;
    /**
     * 事件处理机构id
     */
    Long treatmentOrgId;
    /**
     * 事件处理机构名称
     */
    String treatmentOrgName;
    /**
     * 事件处理后照片
     */
    String treatmentPostPics;
    /**
     * 事件处理前照片
     */
    String treatmentPrePics;
    /**
     * 事件处理河段id
     */
    Long treatmentReachId;
    /**
     * 事件处理河段名称
     */
    String treatmentReachName;
    /**
     * 事件处理方式:0直接处理,1分配处理,2报河长办处理,3报上级河长处理
     */
    Integer treatmentType;
    /**
     * 事件处理人员id
     */
    Long treatmentUserId;
    /**
     * 事件处理人员角色
     */
    String treatmentUserJob;
    /**
     * 事件处理人员名称
     */
    String treatmentUserName;
    /**
     * 版本号
     */
    Integer version;
    /**
     * 经度
     */
    String longitude;
    /**
     * 纬度
     */
    String latitude;
    /**
     * 事件处理时间
     */
    Date treatmentDate;
    /**
     * 当前处理人所在河道id (报上级河长或河长办用到)
     */
    Long currentTreatmentRiverId;
    /**
     * 当前处理人上级河道id (报上级河长或河长办用到)
     */
    Long parentTreatmentRiverId;
    /**
     * 建立者id
     */
    Long createId;
    /**
     * 创建时间
     */
    Date dateCreated;
    /**
     * 督办完成期限
     */
    Date dateDeadline;
    /**
     * 巡查时间
     */
    Date datePatrol;
    /**
     * 更新时间
     */
    Date dateUpdated;
    /**
     * 备注
     */
    String memo;
    /**
     * 排序
     */
    Integer orderNo;
    /**
     * 删除标记
     */
    Integer delFlag;
    /**
     * 责任单位id
     */
    Long dutyOrgId;
    /**
     * 责任单位名称
     */
    String dutyOrgName;
    /**
     * 责任人id
     */
    Long dutyUserId;
    /**
     * 责任人名称
     */
    String dutyUserName;
    /**
     * 事件描述
     */
    String eventInfo;
    /**
     * 事件类型(无问题,河岸倾倒垃圾,生活非法排污,工业区非法排污,非法采砂,河道及禁养区非法养殖,河湖岸线乱搭乱建,电鱼毒鱼,饮用水源地污染,河面漂浮物及垃圾,面源污染,重金属污染,场镇污水处理厂未建设,场镇污水处理厂未运行,场镇污水处理厂处理不达标,场镇污水管网收集率不高,电站截留生态流量,其他问题)
     */
    String eventType;
    /**
     * 关注状态0否1是
     */
    Integer followState;

    Integer userType;
    Long currUserId;
    List<Long> riverIds;
    /**
     * 同步数据查询标记
     */
    Integer isDSync;
    /**
     * 完结状态 0否1是
     */
    Integer isFinish;

    /**
     * 同步状态 0否1是2失败
     */
    Integer dsyncState;

    /**
     * 同步次数
     */
    Integer dsyncCount;

    /**
     * 同步数据
     */
    String dsyncDjson;

    /**
     * 同步结果
     */
    String dsyncResult;



    /**
     * 任务状态（未巡查、已巡查，默认是未巡查）
     */
    String taskStatus;
}
